﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.IO;
using DAO;
using DTO;
using System.Windows.Forms;

namespace BaiTap1
{
    public partial class frm_DangNhap : Form
    {
        NguoiDung_DTO nguoiDung;
        string path = Application.StartupPath + @"\remember.txt";
        public void openMainForm()
        {
            frm_main f = new frm_main();
            f.Init(nguoiDung);
            Application.Run(f);
        }
        public frm_DangNhap()
        {
            InitializeComponent();
            NhoDangNhapcheckBox.Checked = true;
        }

        private void BT_DANG_NHAP_Click(object sender, EventArgs e)
        {
            try
            {
                string tenDangNhap = txtTenDangNhap.Text;
                string matKhau = txtMatKhau.Text;
                nguoiDung = NguoiDung_DAO.GetNguoiDung(tenDangNhap);
                if (nguoiDung == null)
                {
                    MessageBox.Show("Không tồn tại tên đăng nhập này!");
                    txtTenDangNhap.Focus();
                    txtTenDangNhap.SelectAll();
                    return;
                }
                if (nguoiDung._Mat_Khau != matKhau)
                {
                    MessageBox.Show("Mật khẩu không đúng!");
                    txtMatKhau.Focus();
                    txtMatKhau.SelectAll();
                    return;
                }
                //Ghi nhận thông tin đăng nhập vào file remember.txt
                StreamWriter sw = new StreamWriter(path);
                if (this.NhoDangNhapcheckBox.Checked == true)
                {
                    sw.WriteLine(txtTenDangNhap.Text.ToString());
                }
                else
                    sw.WriteLine("");
                sw.Close();



                //Tạo thread để mở form main và đóng form đăng nhập
                System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(openMainForm));
                t.SetApartmentState(System.Threading.ApartmentState.STA);
                t.Start();

                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Không thể kết nối tới Cơ sở dữ liệu!");
            }
        }

        private void frm_DangNhap_Load(object sender, EventArgs e)
        {
            if (File.Exists(path))
            {
                StreamReader rd = new StreamReader(path);
                string tenDangNhap = rd.ReadLine();
                txtTenDangNhap.Text = tenDangNhap;
                rd.Close();
            }
        }
    }
}
